package br.univali.programacao.carraid;

public class AcumuladorDeTempo implements UpdateableObject {

    private long tempoAcumulado;
    private long tempoDeExpiracao;

    public AcumuladorDeTempo(long tempoDeExpiracao) {
        this.tempoAcumulado = 0;
        this.tempoDeExpiracao = tempoDeExpiracao;
    }

    @Override
    public void update(long tempoDoFrame) {
        tempoAcumulado += tempoDoFrame;
    }

    public boolean expirou() {
        return tempoAcumulado >= tempoDeExpiracao;
    }

    public void reseta() {
        tempoAcumulado = tempoAcumulado % tempoDeExpiracao;
    }
}
